package com.wxk.lambda.exercise;

import com.wxk.lambda.data.Person;

import java.util.ArrayList;
import java.util.ListIterator;

/**
 * wxk
 */
public class Exercise4 {

    public static void main(String[] args) {

        //需求：删除集合中满足条件的元素

        ArrayList<Person> list = new ArrayList<>();

        list.add(new Person("xiaoming", 10));
        list.add(new Person("lilei", 11));
        list.add(new Person("hanmeimei", 12));
        list.add(new Person("lily", 9));
        list.add(new Person("lucy", 9));
        list.add(new Person("polly", 3));
        list.add(new Person("uncle wang", 40));

        //方法一：迭代器

//        ListIterator<Person> it = list.listIterator();
//
//        while (it.hasNext()) {
//            Person p = it.next();
//            if (p.age > 10) {
//                it.remove();
//            }
//        }
//
//        System.out.println(list);

        //Lambda实现
        //将集合中的每一个元素都带入到test方法中，如果返回值是ture,则删除这个元素
        list.removeIf(ele -> ele.age > 10);

        System.out.println(list);
    }
}
